package main_package;
import interfaz.VentanaLogin;
import interfaz.VentanaSecretario;
import java.awt.Color;
import java.sql.*;
import javax.swing.UIDefaults;
import javax.swing.UIManager;
import utilidades.leer;

public class SGE {
    
    
    static int VACIO = 0;
    static int SECRETARIO = 1;
    static int EXPERTO = 2;
    static int ADJUNTO = 3;
    static int COORDINADOR = 4;
    private static boolean seguir=false;
    
    public static void main(String[] args) throws Exception {
        final String DRIVER="sun.jdbc.odbc.JdbcOdbcDriver";
        final String BBDD="jdbc:odbc:ISOBBDD";
        Connection conexion=null;
        Class.forName(DRIVER);
        conexion=DriverManager.getConnection(BBDD);
        Consultas cons=new Consultas(conexion);
        UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
        
        
        int rol=VACIO;        
        Login login = new Login(cons);
        
        while(true){

            //Nos logueamos
            VentanaLogin vent = new VentanaLogin();           
            Usuario user = null;
            
            while(user==null){
                synchronized(vent){
                    vent.wait();
                }
                user = login.verificar(vent.getUser(), vent.getPass());
                if(user==null){
                    vent.loginIncorrecto();
                }
            }
            
            vent.dispose();
            
            user.setconsultas(cons);
            if(user.getRol().equals("Secretario")) rol=SECRETARIO;
            else if(user.getRol().equals("Experto")) rol=EXPERTO;
            else if(user.getRol().equals("Adjunto")) rol=ADJUNTO;
            else if(user.getRol().equals("Coordinador")) rol=COORDINADOR;

            switch(rol){
                //SECRETARIO
                case 1:
                    user.setRol("Secretario");
                    user.runSecretario();
                    break;
                //EXPERTO
                case 2:
                    user.setRol("Experto");
                    user.runExperto();
                    break;
                //ADJUNTO
                case 3:
                    user.setRol("Adjunto");
                    user.runAdjunto();
                    break;
                //COORDINADOR
                case 4:
                    user.setRol("Coordinador");
                    user.runCoordinador();
                    break;
                default:
                    break;                      
            }               
            
        }
    }
}
